﻿using Cysharp.Threading.Tasks;
using System;
using System.Collections;
using System.Collections.Generic;
using UnityEngine;

//基础用法
//延时操作
//UniTask.Delay 延迟几秒  注意方法的重载及参数作用  是否受时间缩放影响
//UniTask.DelayFrame 延迟几帧
//UniTask.NextFrame 等待一帧
//UniTask.Yield 等待一帧 用于处理调回主线程用 可以用于将处理调回主线程用。例如yield之前是在其他线程跑，yield之后回到主线程跑。
//默认是update循环。通过变更loop的类型，能切换之后代码的运行时机。
public class One : MonoBehaviour
{
    // Start is called before the first frame update
    async void Start()
    {
        // Time.timeScale = 0F;
        // Debug.Log("Start :" + Time.time);
        // await UniTask.Delay(1000); // 
        // Debug.Log("End :" + Time.time);

        // await UniTask.Delay(TimeSpan.FromSeconds(1));// Timespan 是系统自带的类，可以返回1段时间间隔
        // await UniTask.Delay(1000, true); // 不受时间缩放影响; 为什么 Time.time 显示 0.5xx,什么是时间缩放？？？
        // Debug.Log("End :" + Time.time);

        Debug.Log("Start :" + Time.frameCount);
        await UniTask.DelayFrame(100);
        // await UniTask.NextFrame();
        Debug.Log("End :" + Time.frameCount);


    }


}
